package com.example.gitzuoye3;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import java.util.Random;

/**
 * 随机推荐电影Fragment，随机展示一部电影并提供详情查看功能
 */
public class tuijian extends Fragment {

    // UI组件
    private ImageView suijidianyingImage;  // 电影海报图片
    private TextView suijidianyingName;   // 电影名称文本
    private Button btnsuiji;             // 随机推荐按钮
    private Button btnDetail;            // 查看详情按钮

    // 数据
    private xiangxi.DianyingItem[] alldianying;  // 所有电影数组
    private xiangxi.DianyingItem currentMovie;  // 当前显示的电影

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater,
                             @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        // 1. 加载布局文件
        View view = inflater.inflate(R.layout.tuijian, container, false);

        // 2. 初始化视图组件
        suijidianyingImage = view.findViewById(R.id.suiji_dianying_image);
        suijidianyingName = view.findViewById(R.id.suiji_dianying_name);
        btnsuiji = view.findViewById(R.id.suiji);
        btnDetail = view.findViewById(R.id.btn_detail);

        // 3. 初始化电影数据
        initdianyingData();

        // 4. 初始显示随机电影
        showsuijidianying();

        // 5. 设置随机按钮点击事件
        btnsuiji.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showsuijidianying();
            }
        });

        // 6. 设置详情按钮点击事件
        btnDetail.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (currentMovie != null) {
                    try {
                        // 打开电影详情Fragment
                        getParentFragmentManager().beginTransaction()
                                .replace(R.id.dianying_list, com.example.gitzuoye3.dianyingxinxi.newInstance(currentMovie))
                                .addToBackStack(null)
                                .commit();
                    } catch (Exception e) {
                        Toast.makeText(getActivity(), "打开详情失败", Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });

        return view;
    }

    /**
     * 初始化电影数据
     */
    private void initdianyingData() {
        alldianying = new xiangxi.DianyingItem[]{
                new xiangxi.DianyingItem(1, "大话西游", "导演：刘镇伟\n主演：周星驰、朱茵、吴孟达、蓝洁瑛、莫文蔚等。", "dhxy"),
                new xiangxi.DianyingItem(2, "哈利波特与凤凰社", "导演：大卫·叶斯\n主演：丹尼尔·雷德克里夫、爱玛·沃森、鲁伯特·格林特等。 ", "fhs"),
                new xiangxi.DianyingItem(3, "千与千寻", "导演：宫崎骏\n主演：柊柊柊柊柊柊柊柊瑠瑠瑠瑠瑠瑠瑠瑠美、入野自由、夏木麻里等。", "qyqx"),
                new xiangxi.DianyingItem(4, "热烈", "导演：大鹏\n主演：黄渤、王一博、刘敏涛、岳云鹏、小沈阳等。", "rl"),
                new xiangxi.DianyingItem(5, "唐人街探案3", "导演：陈思诚\n主演：王宝强、刘昊然、长泽雅美，妻夫木聪，三浦友和，肖阳，邱泽，陈哲远，张子枫，程潇，尚语贤等。\"", "tt3"),
                new xiangxi.DianyingItem(6, "我爱你", "导演：韩延\n主演：倪大红、惠英红", "wan"),
                new xiangxi.DianyingItem(7, "一出好戏", "导演：黄渤\n主演：黄渤、王宝强、舒淇、张艺兴、于和伟、王迅等。", "ychx"),
                new xiangxi.DianyingItem(8, "哪吒之魔童闹海", "导演：饺子\n主要配音：吕艳婷、囧囧囧囧囧囧囧囧森瑟夫、瀚墨、陈浩、绿绮等。", "nz")
        };
    }

    /**
     * 随机选择并显示一部电影
     */
    private void showsuijidianying() {
        if (alldianying == null || alldianying.length == 0) {
            Toast.makeText(getActivity(), "暂无电影数据", Toast.LENGTH_SHORT).show();
            return;
        }

        // 1. 随机选择电影
        Random random = new Random();
        int randomIndex = random.nextInt(alldianying.length);
        currentMovie = alldianying[randomIndex];

        // 2. 显示电影名称
        suijidianyingName.setText(currentMovie.getName());

        // 3. 加载电影图片
        int imageResId = getResources().getIdentifier(
                currentMovie.getImageName(),
                "drawable",
                getActivity().getPackageName());

        if (imageResId != 0) {
            suijidianyingImage.setImageResource(imageResId);
        } else {
            suijidianyingImage.setImageResource(R.drawable.kongbai);
        }

        // 4. 显示推荐提示
        Toast.makeText(getActivity(), "为您推荐: " + currentMovie.getName(), Toast.LENGTH_SHORT).show();
    }
}